package com.boot.service.postConstrct;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;

/**
 * @author Huangx
 * /@PostConstruct
 * 执行顺序:
 * 构造方法 > @Autowired > @PostConstruct
 *
 * 这是Bean A 的构造方法
 * 这是Bean B的 构造方法
 * 这是BeanB 的init 方法
 * 这是BeanA的 init 方法
 * 这是Bean B 的 testB 方法
 *
 */
@Service
public class BeanA {

    @Autowired
    private BeanB beanB;

    public BeanA() {
        System.out.println("这是Bean A 的构造方法");
    }


    @PostConstruct
    private void init() {
        System.out.println("这是BeanA的 init 方法");
        beanB.testB();
    }
}
